from llama_index.core import SummaryIndex, Document

# 构建一个包含三段文本的示例文档列表
sample_texts = [
    # 第一段文本，介绍LlamaIndex及其三种索引类型
    "LlamaIndex是一个数据框架，专门用于构建LLM应用。它提供了多种索引类型，包括向量索引、摘要索引和知识图谱索引。向量索引适合语义搜索，摘要索引适合文档摘要，知识图谱索引适合结构化数据。",
    # 第二段文本，解释向量索引的原理和优势
    "向量索引通过将文本转换为嵌入向量来实现语义搜索。嵌入向量是文本语义的数值化表示，相似的文本会有相似的向量表示。这使得系统能够基于语义相似性而非关键词匹配来检索相关内容。",
    # 第三段文本，说明摘要索引的特点和适用场景
    "摘要索引是一种简单的索引形式，它存储完整的文档内容并在查询时返回所有相关文档。这种索引类型特别适合需要生成文档摘要或需要完整上下文的场景。",
]
documents = [Document(text=text) for text in sample_texts]
index = SummaryIndex.from_documents(documents)
query_engine = index.as_query_engine()
response = query_engine.query("请总结LLamaIndex的主要特点?")
print(response)
